package ListAndSet;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/*t
    java.util.Set接口
* Set 接口的特点：
*   1.不允许存储重复的元素
*   2.没有索引，没有带索引的方法，也不能使用普通的for循环遍历
*
*  HashSet集合 implements Set 接口（是Set接口的实现类）
* HashSet特点：
*       1.不允许存储重复的元素
*       2.没有索引，没有带索引的方法，也不能使用普通的for循环遍历
*       3.是一个无序的集合，存储元素和取出元素的顺序有可能不一致
*       4.底层是一个哈希表结构（查询速度非常块）
* */
public class DemoSet {
    public static void main(String[] args) {
        Set<Integer> set = new HashSet<>();
        set.add(1);
        set.add(2);
        set.add(1);
        System.out.println(set);//不允许存储重复的元素

        //使用迭代器遍历
        Iterator<Integer> it = set.iterator();
        while (it.hasNext()){
            Integer n = it.next();
//            System.out.println(n);
        }
        //使用增强for遍历
        for (Integer i : set) {
            System.out.println(i);
        }

    }
}
